package com.haoan.index.utils.wx;


import com.haoan.index.common.WebConstants;

/**
 * 微信支付相关参数
 */
public class WxpayConstant {
    /**
     * 小程序APPID
     */
    public final static String APP_ID = "wx8482465f564223c4";

    /**
     * 小程序的密钥
     */
    public final static String APP_SECRET = "d8386ff2dc45b9c9a94f1e2c5d2f85b9";

    /**
     * 回调地址-支付和退款通知
     */
    public final static String notify_url =  WebConstants.WEBSITE+ "/notice/wx/payNotify";

    /**
     * 商户号
     */
    public final static String mchId = "1685002674";

    /**
     * 商户号
     */
    public final static String storeId = "123123";

    /**
     * 商户证书序列号<br/>
     * 登录商户平台【API安全】->【API证书】->【查看证书】，可查看商户API证书序列号。<br/>
     * 商户API证书和微信支付平台证书均可以使用第三方的证书解析工具 (opens new window)，查看证书内容。或者使用openssl命令行工具查看证书序列号。<br/>
     */
    // public final static String mchSerialNo = "";

    /**
     * V3密钥<br/>
     * 为了保证安全性，微信支付在 回调通知和平台证书下载接口中，对关键信息进行了AES-256-GCM加密。API v3密钥是加密时使用的对称密钥。<br/>
     * 商户需先在【商户平台】->【账户中心】->【API安全】的页面设置该密钥，请求才能通过微信支付的签名校验。密钥的长度为32个字节。<br/>
     */
    public final static String apiV3Key = "SXLCTOURISMS20240911SXLCTOURISMS";

    private static final String dirName = "/wxpay";

    /**
     * 商户 API 私钥<br/>
     * 商户申请商户 API 证书时，证书工具会生成商户私钥，并保存在本地证书文件夹的文件 apiclient_key.pem 中。私钥也可通过工具从商户的 p12 证书中导出。请妥善保管好商户私钥文件。<br/>
     * 提示:请勿将私钥文件暴露在公共场合，如上传至 GitHub 或将其写入客户端代码等。<br/>
     */
    public final static String keyPath = dirName + "/apiclient_key.pem";

    /**
     * 商户 API 证书<br/>
     * 商户API证书是指由商户申请的，包含商户的商户号、公司名称、公钥信息的证书。<br/>
     * 微信支付 APIv3 使用由 证书授权机构（Certificate Authority，简称CA）签发的证书。商户可以自行生成证书请求串，也可以下载微信支付证书工具生成证书请求串。提交证书请求串至商户平台后，即可获得商户 API 证书文件。请注意安全保存私钥文件。<br/>
     */
    public final static String certPath = dirName + "/apiclient_cert.pem";

    /**
     * 微信支付平台证书<br/>
     * 微信支付平台证书是由 微信支付 负责申请和管理的，该证书包含了微信支付平台的身份标识和公钥信息。<br/>
     * 每位商户都会分配到一个或多个微信支付平台证书。在处理接口响应或回调通知时，商户需要根据证书序列号选择对应的平台证书，并使用其中的公钥进行签名验证。<br/>
     * 商户可通过调用 获取平台证书列表 接口，获取当前可用的微信支付平台证书。<br/>
     * 警告:每个微信支付平台证书的有效期为5年。在证书过期之前，微信支付将逐步使用新的平台证书生成签名。<br/>
     * 为了避免缺少对应证书而验签失败，商户系统需支持多个微信支付平台证书，定期通过接口下载新证书并部署至服务器。请参阅我们的 证书更新指引 ，避免依赖人工更新证书，保证业务的连续运转。<br/>
     */
    public final static String platformCertPath = dirName + "/platform_cert.pem";


}
